Windows WSL
在本文中介绍我使用 WSL 过程中的一些记录。
WSL 发展历史
本节学习自《WSLg:为WSL增光添彩 | silaoA的博客》,建议感兴趣的小伙伴直接读这篇文章。这里我仅摘录一些要点:
- 2016 WSL1,将 Linux 系统调用翻译为 Windows API 调用
- 2019 WSL2,基于 HyperV 的虚拟机实现,内核开源
- 2021 WSLg,支持运行 Linux GUI 程序
WSL 命令
查看已安装发行版
PS C:\Users\maxie> wsl --list -v
NAME STATE VERSION
* Ubuntu Stopped 2
更新 WSL
在《wslg 项目首页》中,提到更新 WSL + WSLg 的命令是:
wsl --update
具体执行效果:
PS C:\Users\maxie> wsl --update
正在检查更新。
已安装最新版本的适用于 Linux 的 Windows 子系统。
关闭 WSL
wsl --shutdown
显示 WSL 版本
wsl --version
执行效果:
PS C:\Users\maxie> wsl --version
WSL 版本: 1.0.3.0
内核版本: 5.15.79.1
WSLg 版本: 1.0.47
MSRDC 版本: 1.2.3575
Direct3D 版本: 1.606.4
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows版本: 10.0.22621.963
WSL 更新
使用 wsl --version 展示出 wsl 的版本后,需要检查各项是否为最新,如果不是,则需要更新。
WSL 版本检查
从 Win11 开始,WSL 变成了应用商店中的一个应用了,地址。
校验 WSL 版本是否为最新,需要去 WSL 的 GitHub Release 页,地址。
其中看到最新版本为 1.0.3,为一个月前发布,与我本地一直,是最新的。
内核版本检查
根据《如何更新 Win10 WSL2 的 Linux 内核》一文的说法,官方升级 WSL2-Linux-Kernel 版本会落后于 GitHub 最新版本。文章中给出多种方法,有一种是用户自行下载 msi 进行安装。msi 文件下载地址是这里。
实际验证,启动我电脑上的 Ubuntu,调用 uname -a
,返回:
maxiee@maxiee:~$ uname -a
Linux maxiee 5.15.79.1-microsoft-standard-WSL2 #1 SMP Wed Nov 23 01:01:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
我的版本是 5.15.79。
在上文的 msi 下载地址中,最新版本是 5.10.102.2,最新一次更新记录是 2022 年 3 月份,比我的内核还要旧。
在 GitHub 的 WSL2-Linux-Kernel 中,最新内核版本是 5.15.83.1。
所以还是不明白,我该如何保持内核最新呢?
网络资源
Windows Subsystem for Linux 商店页面:aka.ms/wslstorepage